package com.tyut.musicdreamer.service.music.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

/**
 * 音乐存储服务
 */
public interface MusicStorageService {

    /**
     * 存储音乐文件
     *
     * @param file 音乐文件
     * @return 文件访问URL
     */
    String store(MultipartFile file);
    
    /**
     * 存储封面图片
     *
     * @param file 图片文件
     * @return 文件访问URL
     */
    String storeCover(MultipartFile file);

    /**
     * 删除音乐文件
     *
     * @param fileUrl 文件URL
     * @return 是否删除成功
     */
    boolean delete(String fileUrl);

    /**
     * 获取文件的完整访问URL
     *
     * @param filePath 文件路径
     * @return 完整访问URL
     */
    String getFileUrl(String filePath);
    
    /**
     * 获取文件输入流
     *
     * @param objectKey 对象键
     * @return 文件输入流
     */
    InputStream getFileInputStream(String objectKey);
} 